package br.com.siscov.control.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import br.com.siscov.control.form.DadosConsultarEscalaForm;
import br.com.siscov.model.escala.service.EscalaService;
import br.com.siscov.model.vo.EscalaVo;
import br.com.siscov.model.vo.MotoristaVo;
import br.com.siscov.util.Constantes;

public class IniciarAlterarEscala extends Action {

	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		ActionErrors errors = new ActionErrors();

		try {

			DadosConsultarEscalaForm dadosConsultarEscalaForm = (DadosConsultarEscalaForm) form;

			EscalaVo escalaVo = EscalaService.obterMulta(dadosConsultarEscalaForm.getDia());
			if (dadosConsultarEscalaForm.getDia().equals(escalaVo.getDia())) {
				MotoristaVo motoristaVo = new MotoristaVo();
				motoristaVo.setMatricula(escalaVo.getMotoristaVo().getMatricula());
				motoristaVo.setCartMotorista(escalaVo.getMotoristaVo().getCartMotorista());
			
				request.setAttribute("escalaVo", escalaVo);
				request.setAttribute("motoristaVo", motoristaVo);
				return mapping.findForward(Constantes.FORWARD_SUCESSO);
			}

			errors.add("errors", new ActionMessage("errors.sql.dados.inexistente"));
			saveErrors(request, errors);
			return mapping.findForward(Constantes.FWD_ERRO);

		} catch (Exception e) {
			errors.add("errors", new ActionMessage("errors.sql.exception"));
			saveErrors(request, errors);
			return mapping.findForward(Constantes.FWD_ERRO);
		}

	}

}
